package com.ophiux.cs.domain.chat.repositories;

import java.util.List;

import com.ophiux.cs.domain.chat.model.entity.CSChatMessageSend;
import com.ophiux.cs.domain.chat.model.valueobj.CSChatMessageQuery;
import com.ophiux.utils.exception.OphiuxRepositoryException;

/*
 *聊天消息记录仓储 
 */
public interface ICSChatMessageSendRepository {

	/**
	 * 保存
	 * @param model
	 * @return
	 * @throws OphiuxRepositoryException 
	 */
	public void save(CSChatMessageSend model) throws OphiuxRepositoryException;  
	
	/**
	 * 根据发送ID获取聊天
	 * @param sendID
	 * @return
	 * @throws OphiuxRepositoryException
	 */
	public CSChatMessageSend getCSChatMessageSendBySendID(String sendID) throws OphiuxRepositoryException;

	/**
	 * 根据消息ID获取聊天
	 * @param msgID
	 * @return
	 * @throws OphiuxRepositoryException
	 */
	public CSChatMessageSend getCSChatMessageSendByMsgID(String msgID) throws OphiuxRepositoryException;
	
	/**
	 * 获取聊天记录
	 * @return
	 * @throws OphiuxRepositoryException
	 */
	public List<CSChatMessageSend> getCSChatMessageSends( CSChatMessageQuery query ) throws OphiuxRepositoryException;
	
}
